<?php

namespace App\Console\Commands;


use App\Models\Event;
use App\Models\Order;
use App\Models\OrderMoney;
use App\Models\Student;
use App\Models\User;
use App\Models\UserAuth;
use App\Models\UserProfit;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;


class UpdateStudentCommand extends Command
{
    /**
     * check-order 每天订单检查处理（可以重复执行）
     *
     * 请求：
     *  php artisan command:update-student
     *  sudo -u www php /www/wwwroot/slh/laravel.test/artisan command:update-student
     *  sudo -u www php /www/wwwroot/shenlanhui/laravel/artisan command:update-student
     *
     */
    /**
     * 参数与选项的区别
     *      在执行命令时，参数必须严格按定义时的顺序输入，不需输入参数名，只需输入参数的值即可。
     *      输入选项则必须带选项名，且选项名前须加 -- 前缀（选项简写字母前加 -），选项可按任意顺序输入
     */

    // 请求 以及参数
    // protected $signature = 'command:name {param1} {param2}';  // 必填参数
    // protected $signature = 'command:name {参数名?} {参数名=默认值} {参数名? : 参数说明}';  // 可选参数
    // protected $signature = 'command:name {--选项名} {--选项名=} {--选项名=默认值} {--简写字母|选项名} {--选项名 : 选项说明}';  // 选项
    protected $signature = 'command:update-student';


    protected $description = '更新学员表的接入信息';

    public function __construct()
    {
        parent::__construct();
    }

    // 认证用户处理
    public function handle()
    {
        $studentDb = new Student();
        $userDb    = new User();
        $users     = $userDb->where('status', '>=', 0)->get()->toArray();
        foreach($users as $_user){
            if(empty($_user['mobile'])){
                continue;
            }
            (new Student())->where('mobile', $_user['mobile'])->where('status', '>', 0)->update(['person_uid' => $_user['id'], 'status' => 1]);
        }

        $this->line('更新学员表接入情况完成！');
    }


}
